package com.cmwa.scbp.sys.permission.authority.dao;

import java.util.List;

import com.cmwa.scbp.base.annotation.MybatisDao;
import com.cmwa.scbp.base.mvc.dao.BaseDao;
import com.cmwa.scbp.sys.permission.authority.entity.AuthorityVo;

/** 
 * @author  hewb 
 * @date 创建时间：2015年4月29日 下午7:14:02 
 * @description 权限dao
 */
@MybatisDao
public interface AuthorityDao extends BaseDao<AuthorityVo> {
	
	/**
	 * 根据当前操作人查询角色集合
	 * @param authorityVo
	 * @return
	 */
	
	 List<AuthorityVo> roleAuthorityList(AuthorityVo authorityVo);
	 /**
	  * 获取该角色对应的分享权限集合
	  * @param authorityVo
	  * @return
	  */
	 List<AuthorityVo> queryAuthorityShareList(AuthorityVo authorityVo);
	 
	 /**
	  * 根据资源ID,资源类型与角色编码查询关系表的条数 
	  * @param authorityVo
	  * @return
	  */
	 int countRoleResourceInfo(AuthorityVo authorityVo);
	 
	 /**
	  * 添加资源与角色编码关系表 
	  * @param authorityVo
	  */
	 void addRoleResourceInfo(List<AuthorityVo> ResourceRelationsList);
	 
	 /**
	  * 根据人员ID和岗位代码查询角色集合
	  * @param authorityVo
	  * @return
	  */
	 List<AuthorityVo> queryAuthorityListByEmpAndPost(AuthorityVo authorityVo);
	 
	 /**
	  * 根据部门ID查询角色集合
	  * @param authorityVo
	  * @return
	  */
	 List<AuthorityVo> queryAuthorityListByDept(AuthorityVo authorityVo);
	 
	 /**
	  * 根据部门和岗位查询数据角色
	  * @param authorityVo
	  * @return
	  */
	 List<AuthorityVo> queryAuthorityListByDeptAndPost(AuthorityVo authorityVo);
	 
	 /**
	  * 根据岗位查询数据角色
	  * @param authorityVo
	  * @return
	  */
	 List<AuthorityVo> queryAuthorityListByPost(AuthorityVo authorityVo);
	 
	 /**
	  * 删除（物理）立项-角色关联关系
	  * @param authorityVo
	  */
	 void deleteRoleResourceInfo(List<AuthorityVo> resourceRelationsList);
	 
}
